// const { defineConfig } = require("@vue/cli-service");
// module.exports = defineConfig({
//   transpileDependencies: true,
//   lintOnSave:false //关闭eslint
// });

// 'use strict'

 



const PrerenderSPAPlugin = require('prerender-spa-plugin');
// const Renderer = PrerenderSPAPlugin.PuppeteerRenderer;
// const webpack = require('webpack');
// const path = require('path');
const port = process.env.port || process.env.npm_config_port || 80 
module.exports = {
  publicPath:'./',
  // publicPath: process.env.NODE_ENV == 'development' ? './' : '/mpw_project/', 
  // 选项……
  transpileDependencies: true,
   // 在npm run build 或 yarn build 时 ，生成文件的目录名称（要和baseUrl的生产环境路径一致）（默认dist）
  outputDir: 'pc',
   // 用于放置生成的静态资源 (js、css、img、fonts) 的；（项目打包之后，静态资源会放在这个文件夹下）
  assetsDir: 'static',
  // 如果你不需要生产环境的 source map，可以将其设置为 false 以加速生产环境构建。
  productionSourceMap: false,
  lintOnSave:false, //关闭eslint
   // 是否开启eslint保存检测，有效值：ture | false | 'error'
  //  lintOnSave: process.env.NODE_ENV === 'development',
  devServer: {
    host: 'localhost', 
    open: true,
    port: port,
    proxy: {
      '/api': {
        // target: process.env.VUE_APP_PROXY_URL2,
        target:'http://192.168.110.15',
        // target:'http://mpw.com',
        // target:'https://ympai.net',
        changeOrigin: true,
        ws: true,
        // pathRewrite: {
        //   '^/amos': '',
        // },
      },
    },
    
  },
  // 解决多线程worker,打包时的报错
  chainWebpack: config => {
		config.module
			.rule('worker')
			.test(/\.worker\.js$/)
			.use('worker')
			.loader('worker-loader')
      .end();
            // .options({ inline: 'fallback' }) // 这个配置是个坑，不要加
       // 解决：worker 热更新问题
      // config.module.rule('js').exclude.add(/\.worker\.js$/);
      // // 删除splitChunks 请勿删除
      // config.optimization.delete('splitChunks');

      // config.plugin('define').tap((args) => {
      //   const [define] = args;

      //   Object.assign(define, {
      //     IS_APPLET: JSON.stringify(true),
      //     UNIQUE_MARK: JSON.stringify(uniqueMark),
      //   });
      //   return args;
      // });
      
	},
  // configureWebpack: config => {
  //   if (process.env.NODE_ENV !== 'production') return;
  //   return {
  //       plugins: [
  //           new PrerenderSPAPlugin({
  //               // 生成文件的路径，也可以与webpakc打包的一致。
  //               // 下面这句话非常重要！！！
  //               // 这个目录只能有一级，如果目录层次大于一级，在生成的时候不会有任何错误提示，在预渲染的时候只会卡着不动。
  //               staticDir: path.join(__dirname,'../dist'),
  //               // 对应自己的路由文件，比如a有参数，就需要写成 /a/param1。
  //               routes: ['/', '/login', '/user/register', '/userCenter/userInfo','/helpCenter','/contact','/auction','/lots','/quotation','/wasteShopping','/caseLibrary','/firmIn','/business','/lots/detail','/lots/registerFor','/auction/detail',],
  //               // 这个很重要，如果没有配置这段，也不会进行预编译
  //               renderer: new Renderer({
  //                   inject: {
  //                       foo: 'bar'
  //                   },
  //                   headless: false,
  //                   // 在 main.js 中 document.dispatchEvent(new Event('render-event'))，两者的事件名称要对应上。
  //                   renderAfterDocumentEvent: 'render-event'
  //               })
  //           }),
  //       ],
  //   };
  // }
  // plugins: [
  //   new PrerenderSPAPlugin({
  //     staticDir: path.join(__dirname, 'dist'),
  //     routes: ['/', '/login', '/contact','/auction','/lots','/quotation','/wasteShopping','/caseLibrary','/firmIn','/business',], // 你的路由配置
  //     renderer: new Renderer({
  //       // 预渲染后执行的操作，如让某些异步行为生效
  //       renderAfterDocumentEvent: 'render-event'
  //     })
  //   })
  // ]
//   configureWebpack: config => {
// ​    config.entry = ['babel-polyfill', './src/main.js']
// ​    if (process.env.NODE_ENV === 'production') {
// ​      config.plugins.push(
// ​        new PrerenderSPAPlugin({
// ​          // 生成文件的路径，也可以与webpakc打包的一致。
// ​          // 下面这句话非常重要！！！
// ​          // 这个目录只能有一级，如果目录层次大于一级，在生成的时候不会有任何错误提示，在预渲染的时候只会卡着不动。
// ​          staticDir: path.join(__dirname, '../mpw_project/dist'),
// ​          indexPath: path.join(__dirname, '../mpw_project/dist', 'index.html'),
// ​          // 对应自己的路由文件，比如a有参数，就需要写成 /a/param1。
// ​          routes: ['/', '/login', '/contact','/auction','/lots','/quotation','/wasteShopping','/caseLibrary','/firmIn','/business',],,
// ​          // renderer: new PrerenderSPAPlugin.PuppeteerRenderer({//这样写renderAfterTime生效了
// ​          //   renderAfterTime: 5000
// ​          // }),
// ​          // renderAfterDocumentEvent: 'render-event'
// ​          // 这个很重要，如果没有配置这段，也不会进行预编译
// ​          renderer: new Renderer({
// ​            inject: {
// ​              foo: 'bar'
// ​            },
// ​            headless: false,
// ​            // 在 main.js 中 document.dispatchEvent(new Event('render-event'))，两者的事件名称要对应上。
// ​           renderAfterDocumentEvent: 'render-event'
// ​          })
// ​        })
// ​      )
// ​    }
//   },
}